#include <iostream>
#include<string>
#include<vector>
using namespace std;

int main()
{
    string st;
    //cin >> st;
    getline(cin, st);
    //vector<string> ret;
    int count = 1;
    for (int i = 0; i < st.size(); i++)
    {
        if (st[i] == ' ') count++;
    }
    vector<string> ret(count);
    int j = 0;
    for (int i = 0; i < count; i++)
    {
        //int j=0;
        while (st[j] != ' ')
        {
            ret[i] += st[j], j++;
            if (j == st.size())break;
        }
        j++;
    }
    for (int i = count - 1; i >= 0; i--)cout << ret[i] << ' ';
    return 0;

}

//#include <iostream>
//#include<algorithm>
//using namespace std;
//
//int main()
//{
//    int n = 0;
//    cin >> n;
//    int prices[n];
//    for (int i = 0; i < n; i++) cin >> prices[i];
//    int ret = 0;
//    //int base=prices[0];
//    // for(int j=0;j<n;j++)
//    // {
//    //     //if(prices[j]<base) base=prices[j];
//    //     base=min(prices[j],base);
//    //     ret=max(ret,prices[j]-base);
//    // }
//    for (int i = 0; i < n - 1; i++)
//    {
//        int left = i, right = i + 1;
//        if (prices[left] < prices[right]) ret += prices[right] - prices[left];
//
//    }
//    cout << ret << endl;
//    return 0;
//}